//
//  XDProgressView.h
//  XDProgressView
//
//  Created by bean on 2021/9/13.
//

#import <UIKit/UIKit.h>

typedef NS_ENUM(NSInteger, XDProgressType) {
    XDProgressStripes,    // 进度条纹
    XDProgressGradient,   // 进度渐变色
    XDProgressSolid       // 进度固定色
};

typedef NS_ENUM(NSInteger, XDAnimateDirection) {
    XDAnimateDirectionForward,   // 前进方向
    XDAnimateDirectionBackward   // 后退方向
};

@interface XDProgressView : UIView

@property (nonatomic) CGFloat progress;             // 进度值
@property (nonatomic, strong) UIColor *color;       // 进度条当前色
@property (nonatomic, strong) UIColor *background;  // 进度条背景色

@property (nonatomic, strong) NSNumber *flat;    // 是否设置进度条填充颜色（跟color一起设置，不设置默认蓝色）
@property (nonatomic, strong) NSNumber *animate;          // 是否开启动画
@property (nonatomic, strong) NSNumber *showStroke;       // 是否显示深色描边颜色（默认为YES）
@property (nonatomic, strong) NSNumber *showText;         // 是否显示进度条的进度文字
@property (nonatomic, strong) NSNumber *showTextOnRight;  // 进度文字显示在view的最右边（默认为NO，跟showText互斥）
@property (nonatomic, strong) NSNumber *showBackground;   // 是否显示进度条背景颜色
@property (nonatomic, strong) NSNumber *showBackgroundInnerShadow; // 是否显示进度条背景颜色内阴影

@property (nonatomic, strong) NSNumber *outerStrokeWidth;   // 外圆弧宽度
@property (nonatomic, strong) NSNumber *progressInset;      // 进度条内边距
@property (nonatomic, strong) NSNumber *borderRadius;       // 边界半径

@property (nonatomic) NSTextAlignment textAlignment;        // 进度文本对齐方式
@property (nonatomic) XDProgressType type;                  // 进度条样式
@property (nonatomic) XDAnimateDirection animateDirection;  // 进度条动画方向

// 设置进度条文本内容
- (void)overrideProgressText:(NSString *)progressText;
// 设置进度条文本颜色
- (void)overrideProgressTextColor:(UIColor *)progressTextColor;

@end



// MARK: -- UIColor -Category
@interface UIColor (RGBValues)

- (CGFloat)red;
- (CGFloat)green;
- (CGFloat)blue;
- (CGFloat)alpha;

- (UIColor *)darkerColor;
- (UIColor *)lighterColor;
- (BOOL)isLighterColor;
- (BOOL)isClearColor;

@end
